package exception;

import java.io.FileOutputStream;
import java.io.IOException;

/**
 * JDK7之后java推出了一个新的特性:自动关闭特性
 * 使得我们在异常处理机制中对于关闭流这样的操作进行了简化
 *
 * 该特性是编译器认可的,最终代码会被编译器改为FinallyDemo2的样子
 */
public class AutoCloseableDemo {
    public static void main(String[] args) {
        try(
                //在try()中定义的类最终会被编译器该为在finally中调用close()
                FileOutputStream fos
                        = new FileOutputStream("fos.dat");

                //编译不通过,只有实现了AutoCloseable接口的类才能在这里定义
//                String str = "abc";
        ){

            fos.write(1);
        }catch(IOException e){
            e.printStackTrace();
        }
    }
}







